Many organizations rely on computing systems such as enterprise resource planning (ERP) systems to electronically manage business processes and functions. These ERP systems may contain different modules to perform different tasks, such as invoicing, accounting, inventory control, and so on. These modules may be used by different businesses in different industries—each of these businesses and industries may have unique business processes or procedures. For example, in the telecommunications industry, phone companies may charge customers a flat rate for certain services and a fixed per-use rate for other services. However, in the aviation industry, airlines may routinely modify the fares charged for each flight so that different customers may pay different fares depending on when they booked their flight. Thus, the same invoicing module may be configured differently for different industries, such as the airline industry or the telecommunications industry.
Even with the same industry, different companies may implement different policies and procedures. For example, one company may accept credit cards as a payment option while another may only accept checks.
Since a single ERP system may be used by different companies in different industries, the ERP system may be initially configured to support a wide range of different business practices, policies, and procedures. This initial configuration may include data structures, such as databases and tables, including wide varieties of data fields that may be used by different companies. Given the wide variety of data fields included in ERP system to accommodate different industries and functions, it is likely that at least some of the data fields will not be used by different companies.
These unused fields may be stored in memory leading to an inefficient use of computing resources. While it is possible to manually remove each of the unused fields from the data structures and memory, doing so is impractical and costly. ERP systems may have hundreds of data structures containing hundreds of fields—the personnel requirements alone may be cost prohibitive. Additionally, if a data field in use is improperly edited or removed, unexpected errors may occur at runtime. Diagnosing these errors may also require additional resources and expense that could otherwise be avoided.
In sum, there is a need to eliminate extraneously information from data structures and memory to improve system performance at runtime while minimizing the potential for errors.